function [leader,pval,VV1]=start(operation_time, operation_machine ,num_machine ,num_job ,num_op ,volumn)
global  operation_time operation_machine num_machine num_job num_op volumn;
MAXGEN=50;          
sizepop=71;       
N_size=10;            
S_size=2;              
G=5;                   
G2=5;                 
G3=0.8;                 
trace=zeros(2,MAXGEN);
total_op_num=sum(num_op);
[chroms,FF]=initialization(total_op_num);
[Z,~,~,~]=fitness(chroms,FF);
for gen=1:MAXGEN
    fprintf('当前迭代次数：'),disp(gen)
    [chroms,Z]=global_search(total_op_num,sizepop,chroms,FF,Z);
    [Z_leader,ind]=min(Z);
    leader=chroms(ind,:); 
    chroms(ind,:)=[];
    Z(ind)=[];
    sp=(sizepop-1)/2;
    lefts=chroms(1:sp,:);
    Z_left=Z(1:sp);
    rights=chroms(sp+1:end,:);
    Z_right=Z(sp+1:end);  
    for i=1:G
        [leader,Z_leader,share,Z_share]=bird_evolution(leader,Z_leader,[],[],...    
            N_size,S_size,total_op_num,FF);
        share_left=share;
        Z_share_left=Z_share;
        share_right=share;
        Z_share_right=Z_share;
        for j=1:sp
            [lefts(j,:),Z_left(j),share_left,Z_share_left]=bird_evolution(lefts(j,:),Z_left(j),share_left,Z_share_left,...
                N_size-S_size,S_size,total_op_num,FF);
            [rights(j,:),Z_right(j),share_right,Z_share_right]=bird_evolution(rights(j,:),Z_right(j),share_right,Z_share_right,...
                N_size-S_size,S_size,total_op_num,FF);
        end
        ind=randperm(sp,G2);
        [rights_new,lefts_new]= crossover(lefts(ind,:),rights(ind,:),total_op_num); 
        chroms_new=mutation(chroms,total_op_num,G3);
        chroms_new=[leader;chroms_new;rights_new;lefts_new];
        [Z_new,~,~,~]=fitness(chroms_new,FF);
        [chroms,Z]=update_chroms(chroms,chroms_new,Z,Z_new,sizepop);
    end
[Z,~,~,GG]=fitness(chroms,FF);
i=1;
while true 
    if i == size(chroms,1)
        break;
    end
    if isempty(find((GG(i,:)>=GG(i+1,:))==0,1)) 
        chroms(i,:)=[];
        Z(i)=[];
        GG(i,:)=[];
        else
            i=i+1;
    end 
end
end
[~,~,pvals,~,VV] = fitness(chroms,FF);
leader=chroms(1,:);
pval=pvals{1,1};
VV1=VV(:,1);
end